  
	
	
weapon/rocket/flash {
	color	1 0.75 0
	size 300 + rand*32
	light
}


  
	  
weapon/rocket/projectile {
	size 1.5
	//Render the rocket
	model		"models/ammo/rocket/rocket.md3"
      rotate time * 1000 / 4
	dirModel
	//Sound generated by the flying rocket
	loopSound	"sound/weapons/rocket/rockfly.wav"

	 
	color	0.25 0  0  
 	alpha	0                                         ///  === TRAIL outter   RL
	shader	flareShader
	//  repeat 0.002  { 
  distance 5 {
	 	normalize parentVelocity v0
 		inverse v0
 		wobble v0 velocity  150 + rand*2    
		scale	velocity velocity  500    + rand*150  //   speed of trail (realistic:1000)
		emitter 0.12   + rand*0.1  
		{
			size	30     -lerp*12  //  ( 1 - 0.5 * lerp * 1.5 )
			colorFade 0    
			  alphaFade 0
		 Sprite
		}
		}
 
	color	.2 .2   0   
 	alpha	0                                         ///  === TRAIL  inner  RL
	shader	flareShader
	  repeat 0.02  { 
  
		normalize parentVelocity v0
		inverse v0
 		wobble v0 velocity  5 + rand*2   //straighten out trail
		scale	velocity velocity  50   + rand*50  //speed of trail (realistic:1000)
		emitter 0.12  + rand*0.1 
		{
			size	15   -lerp*9  ///  +rand*3 * ( 1 - 0.5 * lerp * 1.5 )
			colorFade 0     
			  alphaFade 0.5
			Sprite
		}
	
 
	 
  

                     
	//The rocket's world light  dynamic light?
	color   1 0.75 0
	size 	300
	Light
 
 }}



 
 weapon/rocket/trail {
	// 
	color	 0 0 0
 	alpha	0.75        // alpha 1 = concret 
	shader	   smokePuff                         //  ===  SMOKE  PUFF    RL  trail
 	rotate	360 * rand
 distance 30 + rand * 30 {
  emitter 0.85 + rand * 0.5 {
 	 	alphaFade	0.1
	  	colorfade 0.1
			size		8 + lerp * 15
			sprite		cullNear }
	}

}  
   
	
  
  
 

 

weapon/rocket/impact {
	vibrate 70
	sound	sound/weapons/rocket/rocklx1a.wav 
	shader gfx/damage/burn_med_mrk
	size	70  // mrk
	Decal energy
	repeat 1 {
	                                    // Animating sprite of the explosion   RL
	shader rocketExplosion
	size    40
	wobble	dir velocity 150 
	 
		scale	velocity velocity 35
 
 	movegravity 0.1  0.1 
	
	rotate	360 * rand
	
	}

	
	//                 light colour       RL
	color 1 0.75 0
 
	emitter 1 {
		Sprite
		//size will goto zero after 0.5 of the time
		size 300 * clip(2 - 2*lerp)
	
		Light
	}
  
	
	//                          //  LINES ROX
	color	1 0.4 0
	alpha	0.33
	shader	flareShader
	repeat	22 {
		random	velocity
		scale	velocity velocity  190   
		   
		emitter 0.3 {
			moveBounce 0.1 0.1
			colorFade 0 
			width 35  - lerp * 30 
			size 50 + lerp * 50
			Spark
		}
	}
	 
 	 
	 
	
	color	1 0.5 0.3         //  BRSEL  ROX   flying
	 
	shader	flareShader
	repeat	50  {
	 	random	velocity
		scale	velocity velocity 250 + rand *350 - lerp*300 
		size	1 + rand*1.2  
	// width 1
		emitter   4 + rand*2   {
		movebounce 0 0.25
			 movegravity 130 
			colorFade 0
			 sprite // Spark //
		}
	}
	
 
	
	color	0 0 0
	alpha	1       // alpha 1 = concret 
	shader	smokePuff                //  ===  SMOKE  PUFF    RL expl
	rotate	360 * rand
	repeat	2  {
	 	random	velocity
		scale	velocity velocity 100 
	 
		emitter 0.5 + rand*0.3  {
			alphaFade	0
			colorfade 0.4
			size	33  + lerp * 55
			sprite		cullNear
		}
	}
}


 
 
 
 
 
 

 




weapon/grenade/flash {
	
	color	0 1 0
	alpha	0.5
	shader	smokePuff       //   PUFF on GL  :D
	rotate	360 * rand
	repeat 1 {   //   
		emitter 0.25 + rand*0.2 {
			alphaFade	0
			size		8 + lerp * 15
			sprite		cullNear
		}
	}
}

 


weapon/grenade/projectile {

	 

	// Render the grenade model
	model		"models/ammo/grenade1.md3"
        // wolfcam need to do model rotation yourself
        if velocity {
		color 0 1 0
           rotate time * 1000 / 4
        }
	anglesModel
	
	color 0 1 0  //  	.86 .42 1  //  1 0.7 0
	size 300 + rand*32
	light
}



 
weapon/grenade/trail { 

	color	0.01  0.31  0.01 
 	alpha	0                                         ///  === TRAIL   gl
	shader	flareShader
	  repeat 0.02  { 
  
		normalize parentVelocity v0
		inverse v0
 		wobble v0 velocity  5 + rand*2   //straighten out trail
		scale	velocity velocity  50 //  + rand*50  
		emitter 0.3 + rand * -0.2
		{
			size	8    +rand*3 * ( 1 - 0.5 * lerp * 1.5 )
			colorFade 0   
			  alphaFade 1
			Sprite
		}
	
 
		 
 
}
}


weapon/grenade/impact {

	vibrate 70
	sound	sound/weapons/rocket/rocklx1a.wav 
	shader gfx/damage/burn_med_mrk
	size	70  // mrk
	Decal energy
	repeat 1 {
	                                    // Animating sprite of the explosion   gl
	shader bfgExplosion 
	size 50
	wobble	dir velocity 150 
	 
		scale	velocity velocity 35
 
 	movegravity 0.1  0.1 
	
	rotate	360 * rand
	
	}

	
	//                 light colour       
	color 0 1 0.4
 
	emitter 1 {
		Sprite
		//size will goto zero after 0.5 of the time
		size 300 * clip(2 - 2*lerp)
	
		Light
	}
 	
	 	 
	
	 
	
	//                          //  LINES  
	color	0 1 0.4
	alpha	0.33
	shader	flareShader
	repeat	25 {
		random	velocity
		scale	velocity velocity 250  
		size	1  
		emitter 0.22 {
			moveBounce 0.1 0.1
			colorFade  1 
			width 9  
			size 50
			Spark
		}
	}
	 
	 
	 
	
	color	0 1 0.4       //  BRSEL      flying
	 
	shader	flareShader
	repeat	30  {
	 	random	velocity
		scale	velocity velocity 300  
		size	1  
	 
		emitter   4    {
		movebounce 0 0.5
			 movegravity 130 
			colorFade 0.9
			sprite //Spark
		}
	}
	

	color	0 1 0.4        //  BRSEL    lying
	alpha	0.33
	shader	flareShader
	repeat	40  {
	 	random	velocity
		scale	velocity velocity  50 + rand*40 
		size	1 + rand*1
		 
		emitter 4 + rand*3  {
			 movegravity 100 + rand * 100
			 movebounce 2 0.2
			colorFade  1
			Sprite
		}
	}
	
	color	0 1 0
	alpha	1       // alpha 1 = concret 
	shader	smokePuff                //  ===  SMOKE  PUFF     expl
	rotate	360 * rand
	repeat	2  {
	 	random	velocity
		scale	velocity velocity 100 
	 
		emitter 0.5 + rand*0.3  {
			alphaFade	0
			colorfade 0.4
			size	33  + lerp * 55
			sprite		cullNear
		}
	}
}
 


	

















////****   ROCKET-3   ***   BFG-120   ***   GRANNY-234   ***   PLASMA-330   ***   RAIL-380  ***   LG-450   ***   SG,MG,GAUNTLET-510   ///////////
 
weapon/plasma/flash {   //  
	color	.2 .2 .6 // 0.6 0.6 1
	size 300 + rand*32
	light
 }


weapon/plasma/projectile {
// The sprite for the plasma
size 16
rotate rand*360
rotate time * -1200
shader sprites/plasma1
sprite
// Plasma flying sound
loopSound "sound/weapons/plasma/lasfly.wav"



	
	color	0  0.02  0.2
	alpha	0   //??                                    ///  === TRAIL   big blue   PG
	shader	  flareShader ///   raildisc  //
	 
	distance 38    ///   7.2 // 900ups * (1000.0 / 125.0)
	{  
	  
		emitter 1 + rand*0.15 {
			size	55 +rand*5 * ( 1 - 0.5 * lerp * 1.5 )
			colorFade 0 
	//		 movebounce 0.1 0.1
	//		 movegravity 0 
			Sprite
		}
	} 
color	.2 .2 1  
	size 300 
	light
}  



weapon/plasma/trail {


	
	color	0.5 1 1 //   0.03 0.075  0.1 
	alpha	0   //??                                    ///  === TRAIL small bubbles    PG
	shader	  flareShader ///   raildisc  //
	 repeat 5 {
	// distance 22  {
		normalize parentVelocity v0
	 inverse v0
		wobble v0 velocity 33 + rand*10
		scale	velocity velocity 75 + rand*52
		emitter 0.5 + rand * 0.3  {
			size	5  - lerp * 3  //* ( 2 - 1 ) //  * ( 1 - 0.5 * lerp * 1.5 )
			colorFade 2 //  0 + rand*9 //  0.001
			moveGravity 100
			Sprite
		}
	 

}  
}  
  

weapon/plasma/impact {

shader	gfx/damage/plasma_mrk


 	 Decal energy
	emitter 1.5 {
	colorfade 0 
	alphafade 0
	size	33
rotate   360 + rand
  rotate time * 1000      // rotation speed
	 
 	
	sprite
 }
 
 	
	
	color	0  0.1  1
	alpha	0   //??                                    ///  impact spot blue   PG
	shader	  flareShader ///   raildisc  //
	 
	repeat 1    
	{  
	  
		emitter 2 {
			size	44
			colorFade 0 
			random	velocity
		scale	velocity velocity 22+ rand*11
  movebounce 1 1
	 		 movegravity 1 
			Sprite
		}
	} 
 } 
	  
 
	  





// input: origin, team, clientnum, enemy, teammate, ineyes
weapon/rail/flash {
	color	1 0.6 0
	size 300 + rand*32
	light
}


 weapon/rail/trail {       // bs complex maths
	size  r_railCoreWidth*2    //  beam width
	shader railCore
	repeat 3 {                                    //  beam
	emitter cg_railTrailTime * 0.001 {
		colorFade 0
		Beam
	}
	}
	shader flareshader  //  railDisc
	
	// color2 is stored in the parent input structure, retrieve it like this
	pushparent color2
	pop color
	if cg_oldrail {
		// Do the rail rings
		size r_railWidth*0.5
		// Rings take their stepsize from the width variable
		width r_railSegmentLength
	 
	} else {                                         //        SPIRAL  RG
		// Do a spiral around the rail direction
		// Get length in t0
 	t0 dir
		normalize dir
		 
	 	perpendicular dir v0
		 
		scale v0 v0 0.1  //0.3    ///     radius spiral start
		size  2  - lerp *2   //  size of discs
		// Set the rotate around angle to start value
		t1   rand*360 
		// Go through length of beam in repeat steps
	 repeat ( t0 / 1 ) {      // densitiy of discs
		 	rotatearound v0 dir v1 t1 * 0.16  // * 1.5 //  spiral curve (add * n)
			// Slightly increase beyond regular 10 it so they don't all line up
			t1 t1 + 15 //10.1     Time of fadeout
	 		addScale v1 dir origin loop * t0      // wow (add *0.2 makes short spiral)
			add parentOrigin origin origin
			emitter 0.6  + loop * t1 *  0.0001 
			{    // lifespan of spiral
				 
				addScale origin v1 origin lerp * 44 //   spiral radius increase
				colorFade 0
				alphafade 0
				  Sprite
			}
		}
	}
}
 
  

 
 
// input: origin, dir, team, clientnum, enemy, teammate, ineyes, surfacetype
weapon/rail/impact {
	vibrate 50
 
	sound	sound/weapons/plasma/plasmx1a.wav

	pushparent color2
	pop color

	// The white expanding impact disc
	rotate    rand*360
	shader	railExplosion
	model	models/weaphits/ring02.md3
	emitter 0.6 {
		dirModel
	}

	// Plasma style impact mark
	size	24
	shader	gfx/damage/plasma_mrk
	Decal energy
 	
	
	shader	 railDisc //  flareShader  
 
	repeat 20 {                             //  impact discs  RG
	 random	velocity
		scale	velocity velocity 20  + rand*11
 //	wobble	dir velocity 1 
		 
		
		emitter 1 + rand*1 {	
		size 4 + lerp * 11
		width 2
			moveBounce 0 0.9
	 		movegravity 0.1 0   // 55
			colorFade  0	
     alphafade 0			
			spark //   Sprite    // spark override!
			 
		}
        }
		
	shader	 flareShader  
 
	repeat 4 {                             //  impact lines  RG
	 random	velocity
		 
	 	wobble	dir velocity 111
		 size   54 + rand*25
		width 5
		emitter  1 + rand*1  {	
		 movegravity 0
	 	 
			colorFade 0	
			   Spark
			 
		}
        }
}


 
 
 
 
 
 





 
weapon/lightning/flash {
	color	.2 .2 0.6              //                        LG
	size 300 + rand*32
	light
}

	

weapon/lightning/impact {
	// vibrate   33     
		 
		
		
		
 		color      0.3 0.8 0.6
		shader flareshader                 //    sparks from wall  LG
		repeat 5 {
		emitter 0.4  + rand*0.5 {
		size 5  + lerp *16
	 	 width 5  - lerp *3 
	 	movegravity 66 + rand*50  
		colorfade 1.2   //  14  + rand*4                  //  COLORSSSS    LG
	 	wobble	dir velocity  120 + rand*100           
	 	scale	velocity velocity 60 //50  + rand*40 
		movebounce 1 1.1 
		  spark  //  sprite  //
	}
	}
	
	 
	
}
}
 


//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////

 
 
 
 weapon/gauntlet/flash {
	color	0.4 0.4 .7
	size 300 + rand*32
	light
}


weapon/shotgun/flash {
	color	1 1 0
	size 300 + rand*32
	light
	
	color	1 1 1
	alpha	 0.35
	shader	smokePuff       //   PUFF on SG  :D
	rotate	360 * rand
	repeat 1 {   //   
		emitter 0.25 + rand*0.2 {
			alphaFade	0
			colorfade 2
			size		8 + lerp * 15
			sprite		cullNear
		}
	}
}


weapon/machinegun/flash {
	color	1 1 0
	size 300 + rand*32
	light
	
	color	1 1 1
	alpha	    0.35
	shader	smokePuff       //   PUFF on MG  :D
	rotate	360 * rand
	repeat 1 {   //   
		emitter 0.25 + rand*0.2 {
		colorfade 2
			alphaFade	0
			size		8 + lerp * 15
			sprite		cullNear
		}
	}
}








 

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////                                            ///////////////////////////////////////////////////////////
////////////////////                 STUFF                      ///////////////////////////////////////////////////////////
////////////////////                                            ///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////




weapon/bfg/flash {
	color	0.2 0.2 1
	size 300 + rand*32
	light
}

weapon/bfg/projectile {
	//ze model
	model		models/weaphits/bfg.md3
	dirModel
	//ze flight sound
	loopSound	"sound/weapons/rocket/rockfly.wav"

	// hack, this was in bfg trail script, but 'distance' already used there
	color	0.7 0.7 1
	alpha	0.50
	shader	flareShader
	//interval 0.01 {
	distance 16.0 {  // 2000ups * (1000.0 / 125.0)
		normalize parentVelocity v0
		inverse v0
		wobble v0 velocity 10 + rand*10
		scale	velocity velocity 75 + rand*50
		emitter 0.01 + rand*0.55 {
			size	0.1 * ( 1 + 40 * lerp * 1.5 )
			colorFade 0.001
			moveGravity 10
			Sprite
		}
	}

}}

weapon/bfg/trail {
	// World Light
	color 	0.2 1 0.2

	size 	200
	Light

	color	0.2 0.2 1
	alpha	0.50
	shader	flareShader
	distance 1 {
		normalize parentVelocity v0
		inverse v0
		wobble v0 velocity 5 + rand*10
		scale	velocity velocity 75 + rand*52
		emitter 0.01 + rand*0.55 {
			size	10 * ( 1 - 0.5 * lerp * 1.5 )
			colorFade 0.001
			moveGravity 10
			Sprite
		}
	}
}

weapon/bfg/impact {
	vibrate 100
	sound	sound/weapons/rocket/rocklx1a.wav
	//Mark on the wall
	shader	gfx/damage/burn_med_mrk
	size	32
	decal

	// Impact Disc
	rotate    rand*360
	shader	railExplosion
	model	models/weaphits/ring02.md3
	size	1.6
	emitter 0.6 {
		dirModel
	}
	//Pl asma style impact mark
	color	0.2 0.2 1
	size	24
	shader	gfx/damage/plasma_mrk
	Decal energy

	// Animating sprite of the explosion
	shader bfgExplosion 
	size 45
	color 	0.2 0.2 1
	emitter 1 {
		Sprite
		size 	300 * clip(2 - 2*lerp)
		Light
	}
	// Sparks
	color	0.2 0.2 1
	alpha	0.33
	shader	flareShader
	repeat	40 {
		random	velocity
		scale	velocity velocity 200 + rand*50
		size	1 + rand*2
		emitter "0.3 + rand*0.3" {
			moveBounce 0 0.9
			colorFade 0.7
			Sprite
		}
	}
	color	0.7 0.7 1
	alpha	0.33
	shader	flareShader
	repeat	20 {
		random	velocity
		scale	velocity velocity 200 + rand*50
		size	1 + rand*2
		emitter "0.3 + rand*0.3" {
			moveBounce 0 0.9
			colorFade 0.7
			Sprite
		}
	}
}










weapon/machinegun/trail {
}

weapon/shotgun/impact {
	vibrate 1
	//Bullet mark on the wall, shotgun ones are smaller
	shader		gfx/damage/bullet_mrk
	size		4
	Decal
	
	//explosion cone with animating shader
	size		1
	shader		bulletExplosion
	model		models/weaphits/bullet.md3
	rotate		rand*360
	emitter 0.6 {
		dirModel
	}

}

weapon/shotgun/trail {
//Yep empty and not called
}


weapon/machinegun/impact {
	soundList {
		sound/weapons/machinegun/ric1.wav
		sound/weapons/machinegun/ric2.wav
		sound/weapons/machinegun/ric3.wav
	}
	//Bullet mark on the wall
	shader gfx/damage/bullet_mrk
	size 8
	decal
	
	//explosion cone with animating shader
	size		1
	shader		bulletExplosion
	model		"models/weaphits/bullet.md3"
	rotate		rand*360
	emitter 0.6 {
		dirModel
	}
 
}









// q3mme example scripts combined into one file with example changes to make
// it compatible with wolfcam

// wolfcam additional inputs to some scripts are:
//    team         0 free, 1 red, 2 blue, 3 spectator
//    clientnum
//    enemy        1 if enemy of whoever is being specced in demo
//    teammate
//    ineyes       1 if first person view is with this player
//    surfacetype  for impact scripts:  0 not specified, 1 metal, 2 wood,
//                   3 dust
//

/////////////////////////////////////////////////////


// Some general fx script you could use in the effects editor when really bored
mme/decal {
	Trace
	decalTemp
}

mme/quad {
	quad
}


mme/model {
	anglesModel
}

// Talk sprite
// input: origin, team, clientnum, enemy, teammate, ineyes
player/talk {
        if ineyes != 1 {
        	size		10
	        shader		sprites/balloon3
                Sprite
        }
}

// Impressive sprite
// input: origin, team, clientnum, enemy, teammate, ineyes
player/impressive {
        if ineyes != 1 {
        	size		10
	        shader		medal_impressive
                Sprite
        }
}

// Excellent sprite
// input: origin, team, clientnum, enemy, teammate, ineyes
player/excellent {
        if ineyes != 1 {
        	size		10
                shader		medal_excellent
                Sprite
        }
}

// Holy shit medal from ra3
// input: origin, team, clientnum, enemy, teammate, ineyes
player/holyshit {
        if ineyes != 1 {
        	size		10
                shader		medal_holyshit
                Sprite
        }
}

// Accuracy medal
// input: origin, team, clientnum, enemy, teammate, ineyes
player/accuracy {
        if ineyes != 1 {
        	size		10
                shader		medal_accuracy
                Sprite
        }
}

// Gauntlet sprite
// input: origin, team, clientnum, enemy, teammate, ineyes
player/gauntlet {
        if ineyes != 1 {
        	size		10
	        shader		medal_gauntlet
                Sprite
        }
}

// connection sprite
// input: origin, team, clientnum, enemy, teammate, ineyes
player/connection {
        if ineyes != 1 {
        	size		10
	        shader		disconnected
                Sprite
        }
}

// haste/speed trail
// input: origin, angles, velocity, dir (normalized), team, clientnum,
//        enemy, teammate, ineyes
player/haste {
	interval 0.1 {
		shader		hasteSmokePuff
		emitter 0.5 {
			size	6 + 10 * wave( 0.5  * lerp )
			alphaFade	0
			sprite	cullNear
		}
	}
}

// flight trail -- wolfcam addition, not in q3mme
// input: origin, angles, velocity, dir (normalized), team, clientnum,
//        enemy, teammate, ineyes
player/flight {
	interval 0.1 {
		shader		hasteSmokePuff
		emitter 0.5 {
			size	6 + 10 * wave( 0.5  * lerp )
			alphaFade	0
			sprite	cullNear
		}
	}
}

// wolfcam addition, not in q3mme:
//
// player/head/trail
// player/torso/trail
// player/legs/trail
//
// input: origin, angles, velocity, dir (normalized), team, clientnum,
//        enemy, teammate, ineyes

//player/legs/trail {
//	interval 0.1 {
//		shader		sprites/balloon3
//		emitter 0.5 {
//			size	6 + 10 * wave( 0.5  * lerp )
//			alphaFade	0
//			sprite	cullNear
//		}
//	}
//}


// teleport in effect and sound effect
// input: origin
player/teleportIn {
	sound	sound/world/telein.wav
        // Show the fading spawn tube for 0.5 seconds
	//model models/misc/telep.md3
        // wolfcam ql uses different model
        model models/powerups/pop.md3
	//shader teleportEffect  // wolfcam for ql don't add shader
	emitter 0.5 {
		colorFade 0
		anglesModel
	}
}

// teleport out effect and sound effect
// input: origin
player/teleportOut {
	sound	sound/world/teleout.wav
        //Show the fading spawn tube for 0.5 seconds
	//model	models/misc/telep.md3
        // wolfcam ql uses different model
        model models/powerups/pop.md3
	//shader	teleportEffect  // wolfcam for ql don't add shader
	emitter 0.5 {
		colorFade 0
		anglesModel
	}
}


// Explode the body into gibs
// input: origin, velocity, team, clientnum, enemy, teammate, ineyes
//
// wolfcam: guessing that velocity corresponds to player
player/gibbed {
  
  
  if cl_useq3gibs {
  
 
  
          sound sound/player/gibsplt1.ogg
  
	
repeat 11
	  {
		//Huge list of different body parts that get thrown away
		modellist loop {
                        // wolfcam gibs located in different directory
			//models/gibs/abdomen.md3
			//models/gibs/arm.md3
			//models/gibs/chest.md3
			//models/gibs/fist.md3
			//models/gibs/foot.md3
			//models/gibs/forearm.md3
			//models/gibs/intestine.md3
			//models/gibs/leg.md3
			//models/gibs/leg.md3
			//models/gibs/skull.md3
			//models/gibs/brain.md3

			models/gibsq3/abdomen.md3
			models/gibsq3/arm.md3
			models/gibsq3/chest.md3
			models/gibsq3/fist.md3
			models/gibsq3/foot.md3
			models/gibsq3/forearm.md3
			models/gibsq3/intestine.md3
			models/gibsq3/leg.md3
			models/gibsq3/leg.md3
			models/gibsq3/skull.md3
			models/gibsq3/brain.md3
		}

		// aim v0 in random direction, giving more height to upwards vector and scale add to velocity
		random		v0
		v02			v02+1
		addScale	parentVelocity v0 velocity 350
		yaw			360*rand
		pitch		360*rand
		roll		360*rand
		emitter 5 + rand*3 {
			sink 0.9 50
			moveBounce 800 0.6
			anglesModel
			impact 50 {
                                // wolfcam  need to add gib splat sounds yourself
                                if rand < 0.5 {
                                    t0 rand * 3
                                    if t0 < 3 {
   //        sound sound/player/gibimp3.ogg                                      // super weird sound
                                    } else if t0 < 2 {
                                        sound sound/player/gibimp2.ogg
                                    } else {
                                       sound sound/player/gibsplt1.ogg
                                    }
                                }
				size 16 + rand*32
				//shader bloodMark
                                // wolfcam
                                shader q3bloodMark
				decal alpha
			}
			distance 20 {
				// Slowly sink downwards
				clear velocity
				velocity2 -10
				rotate rand*360
				//shader bloodTrail
                                // wolfcam
                                shader q3bloodTrail
				emitter 2 {
					moveGravity 0
					alphaFade 0
					rotate rotate + 10*lerp
					size  8 + 10*lerp
					sprite
				}
			}
		}
	}
    } else {
           t0 rand * 4
           if t0 < 4 {
  //             sound sound/misc/electrogib_04.ogg
	   } else if t0 < 3 {
	//       sound sound/misc/electrogib_03.ogg
	   } else if t0 < 2 {
 //              sound sound/misc/electrogib_02.ogg
	   } else {
   //            sound sound/misc/electrogib_01.ogg
	   }
           // death effect
           shader deathEffect
           size 100
           copy velocity v3
           clear velocity
           emitter 0.5 {
                   sprite
           }
           copy v3 velocity
           shaderClear

           repeat 15 {
                // aim v0 in random direction, giving more height to upwards vector and scale add to velocity
		random		v0
		v02			v02+1
		addScale	parentVelocity v0 velocity 350
		yaw			360*rand
		pitch		360*rand
		roll		360*rand
                model models/gibs/sphere.md3
                size 1
		emitter 1 + rand*0.5 {
			sink 0.9 50
			moveBounce 800 0.6
			anglesModel
			impact 50 {
                                if rand < 0.5 {
                                    t0 rand * 4
                                    if t0 < 4 {
  //                                      sound sound/misc/electrogib_bounce_04.ogg
                                    } else if t0 < 3 {
    //                                    sound sound/misc/electrogib_bounce_03.ogg
                                    } else if t0 < 2 {
      //                                  sound sound/misc/electrogib_bounce_02.ogg
                                    } else {
        //                                sound sound/misc/electrogib_bounce_01.ogg
                                    }
                                }
				//size 16 + rand*32
				//shader bloodMark
				//decal alpha
			}
			distance 20 {
				clear velocity
                                shader wc/tracer
                                size 2.5 + rand * 1
                                color 0 1 0
				emitter 0.5 {
                                        red lerp
					rotate rotate + 10*lerp
					//size  8 + 10*lerp
					sprite
				}
			}
		}
      }
  }
}

// Freezetag thaw
// input: origin, velocity, team, clientnum, enemy, teammate, ineyes
//
// wolfcam: guessing that velocity corresponds to player
//
// player/thawed {}


// General weapon effects
// flash is a 0.25 second event after a weapon is fired
// fire is a single event when weapon is fired
// impact is for weapons impact on something or explode like gr enades
// trail is a single event for weapons without projectiles or a
//      constant event when projectile is in motion projectile is for
//      rendering the specific projectile

// wolfcam: the other ql weapons also available as 'nailgun', 'prox',
//   and 'chaingun'
// wolfcam: weapons also have, in addition to /impact scripts, /impactflesh
//   scripts.  ex:  weapon/plasma/impactflesh
//   inputs for 'impactflesh' are: origin and dir
//
//   If a weapon doesn't have an impactflesh script 'weapon/common/impactFlesh'
//   will be checked.  'weapon/common/impactFlesh' would be a good place to
//   place custom hit sparks.


// input: origin, dir, team, clientnum, enemy, teammate, ineyes
//weapon/common/impactFlesh {
//	shader flareShader
//        size 5
//        color 1 0 1
//        emitter 4 {
//               //origin2 origin2 + lerp * 8
//               velocity2 200
//               moveGravity 0
//               Sprite
//        }
//}


//General weapon effects
//flash is a 0.25 second event after a weapon is fired
//fire is a single event when weapon is fired
//impact is for weapons impact on something or explode like gr enades
//trail is a single event for weapons without projectiles or a constant event when projectile is in motion
//projectile is for rendering the specific projectile


//Bubbles in the water
//input origin
weapon/common/bubbles {
	shader waterbubble
	distance 5+rand*10 {
		size 1 + rand * 2
		random	dir
		addScale origin dir origin 10 * rand
		emitter 1+rand*0.25 {
			alphaFade 0
			origin2 origin2 + lerp * 8
			Sprite
		}
	}
}

